home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / usr / include / irssi / src / irc / dcc / dcc-queue.h < prev    next >
C/C++ Source or Header  |  2006-05-02  |  1KB  |  49 lines

  1. #ifndef __DCC_QUEUE_H_
  2. #define __DCC_QUEUE_H_
  3.  
  4. #include "dcc-chat.h"
  5.  
  6. enum {
  7.     DCC_QUEUE_NORMAL,
  8.     DCC_QUEUE_PREPEND,
  9.     DCC_QUEUE_APPEND
  10. };
  11.  
  12. typedef struct {
  13.     CHAT_DCC_REC *chat;
  14.     char *servertag;
  15.     char *nick;
  16.     char *file;
  17.     int passive; /* for passive DCCs */
  18. } DCC_QUEUE_REC;
  19.  
  20. /* create a new queue. returns it's designation number (int) */
  21. int dcc_queue_new(void);
  22.  
  23. void dcc_queue_free(int queue);
  24.  
  25. /* finds an old queue and returns it's designation number (int). if not
  26.    found return -1 */
  27. int dcc_queue_old(const char *nick, const char *servertag);
  28.  
  29. /* adds nick/fname/servertag triplet into queue */
  30. void dcc_queue_add(int queue, int mode, const char *nick, const char *fname,
  31.            const char *servertag, CHAT_DCC_REC *chat);
  32. void dcc_queue_add_passive(int queue, int mode, const char *nick,
  33.                const char *fname, const char *servertag,
  34.                CHAT_DCC_REC *chat);
  35.  
  36. int dcc_queue_remove_head(int queue);
  37.  
  38. int dcc_queue_remove_tail(int queue);
  39.  
  40. /* return the first entry from queue */
  41. DCC_QUEUE_REC *dcc_queue_get_next(int queue);
  42.  
  43. GSList *dcc_queue_get_queue(int queue);
  44.  
  45. void dcc_queue_init(void);
  46. void dcc_queue_deinit(void);
  47.  
  48. #endif
  49.